package com.nlelpct.manage.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 菜单权限表
 * </p>
 *
 * @author 小马
 * @since 2023-07-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_menu")
public class SysMenu extends Model<SysMenu> {

    private static final long serialVersionUID = 1L;

    /**
     * 菜单ID
     */
    @TableId(value = "menu_id", type = IdType.ASSIGN_UUID)
    private String menuId;

    private String systemId;

    /**
     * 路径编码
     */
    private String menuCode;

    /**
     * 菜单名称
     */
    private String name;

    /**
     * 父菜单ID
     */
    private String parentId;

    /**
     * 显示顺序
     */
    private Integer orderNum;

    /**
     * 路由地址
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 路由参数
     */
    private String queryData;

    /**
     * 是否为外链（0否 1是）
     */
    private Integer frameStatus;

    /**
     * 是否缓存（0不缓存 1缓存）
     */
    private Integer cacheStatus;

    /**
     * 菜单类型（1目录 2菜单 3按钮）
     */
    private Integer menuType;

    /**
     * 菜单状态（0隐藏 1显示）
     */
    private Integer visibleStatus;

    /**
     * 菜单状态（0停用 1正常）
     */
    private Integer menuStatus;

    /**
     * 权限标识
     */
    private String perms;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 描述
     */
    private String menuDesc;

    /**
     * 创建时间 单位ms
     */
    private Long createTime;

    /**
     * 更新时间
     */
    private Long updateTime;


    public static final String MENU_ID = "menu_id";

    public static final String SYSTEM_ID = "system_id";

    public static final String MENU_CODE = "menu_code";

    public static final String MENU_NAME = "menu_name";

    public static final String PARENT_ID = "parent_id";

    public static final String ORDER_NUM = "order_num";

    public static final String MENU_PATH = "menu_path";

    public static final String COMPONENT_PATH = "component_path";

    public static final String QUERY_DATA = "query_data";

    public static final String FRAME_STATUS = "frame_status";

    public static final String CACHE_STATUS = "cache_status";

    public static final String MENU_TYPE = "menu_type";

    public static final String VISIBLE_STATUS = "visible_status";

    public static final String MENU_STATUS = "menu_status";

    public static final String PERMS = "perms";

    public static final String ICON = "icon";

    public static final String CREATE_BY = "create_by";

    public static final String UPDATE_BY = "update_by";

    public static final String MENU_DESC = "menu_desc";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_TIME = "update_time";


}
